Das Swift-Handbuch by Thomas Sillmann

Das Swift-Handbuch by Thomas Sillmann

Autor:Thomas Sillmann [Sillmann Thomas]
Die sprache: deu
Format: epub
ISBN: 9783446461079
Herausgeber: Carl Hanser Verlag München
veröffentlicht: 2019-05-12T16:00:00+00:00


Suspended: Die App befindet sich noch im Speicher, führt aber keinen Code aus. Von diesem Status aus kann die App jederzeit vom System beendet werden, um Platz für andere Apps zu schaffen. Sie wechselt dann zurück in den ursprünglichen Not running-Status.

Bild 23.23 Der Lebenszyklus einer iOS-App (Bild: Xcode-Dokumentation).

Wie eingangs beschrieben, werden diese verschiedenen Zustände des Lebenszyklus einer iOS-App sowie der Wechsel zwischen ihnen in Form von Methoden abgebildet, die im UIApplicationDelegate-Protokoll definiert sind. Im Folgenden stelle ich Ihnen diese Methoden vor und erläutere, wann sie vom System aufgerufen werden:

Start einer App

application(_:willFinishLaunchingWithOptions:): Diese Methode wird aufgerufen, sobald eine App startet, der Startvorgang aber gerade erst begonnen hat und somit noch nicht abgeschlossen ist.

application(_:didFinishLaunchingWithOptions:): Diese Methode wird aufgerufen, nachdem der Startvorgang einer App vollständig abgeschlossen ist.

Wechsel in den Vordergrund

applicationDidBecomeActive(_:): Diese Methode wird aufgerufen, sobald sich eine App im Vordergrund befindet und auf dem Bildschirm des iOS-Geräts angezeigt wird.

Wechsel in den Inaktiv-Status

applicationWillResignActive(_:): Diese Methode wird aufgerufen, wenn eine aktive App in den inaktiven Zustand wechselt.

Wechsel in den Hintergrund

applicationDidEnterBackground(_:): Diese Methode wird aufgerufen, sobald eine App vom Inaktiv-Status in den Hintergrund wechselt. Sie wird dann nicht länger auf dem Bildschirm des iOS-Geräts angezeigt.

Wechsel zurück in den Vordergrund

applicationWillEnterForeground(_:): Diese Methode wird aufgerufen, wenn sich eine App im Hintergrund befindet und währenddessen wieder zurück in den Vordergrund wechselt.

Beenden einer App

applicationWillTerminate(_:): Diese Methode wird aufgerufen, sobald eine App komplett beendet wird. Diese Methode wird nicht aus dem Suspended-Zustand heraus aufgerufen.

Betrachtet man einmal den Code der AppDelegate-Klasse eines neu erstellten iOS-Projekts in Xcode, so stellt man fest, dass für einen Großteil der hier aufgeführten Methoden bereits Platzhalter existieren (siehe Listing 23.6). Diese enthalten zusätzlich kurze Beschreibungstexte in Form von Kommentaren, die ebenfalls noch einmal erläutern, wofür diese Methoden gut sind und wann sie vom System aufgerufen werden.

Listing 23.6 Standardimplementierung der AppDelegate-Klasse

@UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } func applicationWillResignActive(_ application: UIApplication) { // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. } func applicationDidEnterBackground(_ application: UIApplication) { // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. } func applicationWillEnterForeground(_ application: UIApplication) { // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. } func applicationDidBecomeActive(_ application: UIApplication) { // Restart any tasks that were paused (or not yet started) while the application was inactive.



Download



Haftungsausschluss:
Diese Site speichert keine Dateien auf ihrem Server. Wir indizieren und verlinken nur                                                  Inhalte von anderen Websites zur Verfügung gestellt. Wenden Sie sich an die Inhaltsanbieter, um etwaige urheberrechtlich geschützte Inhalte zu entfernen, und senden Sie uns eine E-Mail. Wir werden die entsprechenden Links oder Inhalte umgehend entfernen.